package com.cnswhy.cloud.server.core.dto;

import com.cnswhy.cloud.server.common.entity.enumeration.WithdrawType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;

/**
 * <p>
 * 实体类
 * 
 * </p>
 *
 * @author cnswhy
 * @since 2020-10-14
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "CustomerWithdrawalRecordPageDTO", description = "")
public class CustomerWithdrawalRecordPageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 客户ID
     */
    @ApiModelProperty(value = "客户ID")
    private Long customerId;
    /**
     * 1待审核2审核通过3审核拒绝
     */
    @ApiModelProperty(value = "1待审核2审核通过3审核拒绝")
    private Integer verifyStatus;
    /**
     * 1提现中2提现成3提现失败
     */
    @ApiModelProperty(value = "1提现中2提现成3提现失败")
    private Integer status;
    /**
     * 系统订单号
     */
    @ApiModelProperty(value = "系统订单号")
    @Length(max = 32, message = "系统订单号长度不能超过32")
    private String orderId;
    /**
     * 渠道订单号
     */
    @ApiModelProperty(value = "渠道订单号")
    @Length(max = 255, message = "渠道订单号长度不能超过255")
    private String channelOrderId;
    @ApiModelProperty(value = "")
    @Length(max = 255, message = "长度不能超过255")
    private String remark;
    /**
     * 1积分2拼购券
     */
    @ApiModelProperty(value = "1积分2拼购券")
    private Integer balanceType;
    @ApiModelProperty(value = "")
    @Length(max = 255, message = "长度不能超过255")
    private String loginName;
    /**
     * 权限类型 #WithdrawType{BANKCARD:银行卡;ALIPAY:支付宝账号;}
     */
    @ApiModelProperty(value = "权限类型 #WithdrawType{BANKCARD:银行卡;ALIPAY:支付宝账号;}")
    private WithdrawType withdrawType;
    /**
     * 支行
     */
    @ApiModelProperty(value = "支行")
    @Length(max = 255, message = "支行长度不能超过255")
    private String bankBranch;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    @Length(max = 12, message = "手机号长度不能超过12")
    private String mobile;
    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    @Length(max = 32, message = "账号长度不能超过32")
    private String withdrawAccount;
    /**
     * 真实名字
     */
    @ApiModelProperty(value = "真实名字")
    @Length(max = 255, message = "真实名字长度不能超过255")
    private String realName;

}
